استمتع بتنقل أكثر سلاسة وتفاعلاً على موقع الويب باستخدام CSS @view-transition. يستكشف هذا الدليل قوة تحولات العرض، ويقدم أمثلة عملية وأفضل الممارسات لتجربة مستخدم سلسة.
ارفع تجربة المستخدم: إتقان CSS @view-transition لتحريك التنقل
في المشهد المتطور باستمرار لتطوير الويب، تتصدر تجربة المستخدم (UX). يمكن أن يؤثر التنقل السلس والبديهي بشكل كبير على تفاعل المستخدم والرضا العام. أدخل CSS @view-transition، وهي أداة قوية تتيح للمطورين إنشاء انتقالات جذابة بصريًا وذات أداء جيد بين الحالات المختلفة لتطبيق الويب، مما يعزز رحلة المستخدم.
ما هي تحولات عرض CSS؟
توفر تحولات عرض CSS طريقة تصريحية لتحريك التغييرات بين حالتين من DOM. على عكس انتقالات CSS التقليدية أو الرسوم المتحركة المستندة إلى JavaScript، تتعامل تحولات العرض مع المهمة المعقدة المتمثلة في التقاط حالة الصفحة قبل و بعد التغيير، ثم التحريك بسلاسة بينهما. ينتج عن هذا انتقال أكثر سلاسة وطبيعية، مما يمنع القفزات المزعجة ويحسن الأداء المتصور لموقع الويب الخاص بك.
فكر في الأمر على هذا النحو: تخيل أنك تتصفح الصفحات في كتاب مادي. تنتقل كل صفحة بسلاسة إلى الصفحة التالية، مما يوفر إشارة مرئية تربط المحتوى. تهدف تحولات عرض CSS إلى تكرار هذه التجربة على الويب، مما يوفر إحساسًا بالاستمرارية والوعي المكاني.
لماذا تستخدم تحولات العرض؟
- تحسين تجربة المستخدم: تجعل الانتقالات السلسة موقع الويب الخاص بك يبدو أكثر استجابة وصقلًا، مما يؤدي إلى تجربة مستخدم أكثر متعة.
- تحسين الأداء المتصور: حتى إذا ظل وقت التحميل الفعلي كما هو، يمكن أن تجعل تحولات العرض موقع الويب الخاص بك يبدو أسرع من خلال توفير ملاحظات مرئية أثناء الانتقال.
- تنقل أوضح: يمكن أن تساعد تحولات العرض المستخدمين على فهم العلاقة بين الأجزاء المختلفة من موقع الويب الخاص بك، مما يجعل التنقل أكثر سهولة.
- تقليل الحمل المعرفي: من خلال توفير إشارات مرئية، يمكن أن تساعد تحولات العرض المستخدمين على تتبع التغييرات وفهم سياق المحتوى الجديد، مما يقلل من الحمل المعرفي.
- تصميم حديث وجذاب: يمكن أن تضيف تحولات العرض لمسة من الرقي والحداثة إلى موقع الويب الخاص بك، مما يجعله يبرز من بين الحشود.
التنفيذ الأساسي لتحولات العرض
يتضمن تنفيذ تحولات العرض في CSS بضع خطوات رئيسية:
- تمكين تحولات العرض: في JavaScript، ستؤدي إلى تشغيل تحول عرض باستخدام واجهة برمجة تطبيقات
document.startViewTransition(). - تحديد أنماط الانتقال (اختياري): يمكنك تخصيص مظهر الانتقال باستخدام CSS.
مشغل JavaScript
جوهر استخدام تحولات العرض هو الدالة document.startViewTransition(). تأخذ هذه الدالة رد نداء كحجة. يجب أن يقوم رد النداء بتحديث DOM إلى الحالة الجديدة. يتعامل المتصفح مع الباقي، ويلتقط الحالتين "القديمة" و "الجديدة" والتحريك بينهما.
function navigate(newContent) {
document.startViewTransition(() => {
// Update the DOM with the new content
document.querySelector('#content').innerHTML = newContent;
});
}
// Example Usage:
document.getElementById('link-to-page-2').addEventListener('click', (event) => {
event.preventDefault();
navigate('This is the content of Page 2!
');
});
في هذا المثال، يؤدي النقر فوق الارتباط الذي يحمل المعرّف 'link-to-page-2' إلى تشغيل الدالة navigate. تستدعي هذه الدالة document.startViewTransition()، مما يوفر رد نداء يعمل على تحديث محتوى العنصر الذي يحمل المعرّف 'content'.
تخصيص CSS الأساسي
بشكل افتراضي، تتلاشى تحولات العرض بين المحتوى القديم والجديد. ومع ذلك، يمكنك تخصيص الانتقال باستخدام CSS. إليك بعض خصائص CSS الرئيسية التي يمكنك استخدامها:
view-transition-name: يعين اسمًا لعنصر، مما يسمح لك بتحريكه بشكل فردي أثناء الانتقال.transition: يطبق انتقالات CSS القياسية على عناصر تحويل العرض.
#content {
view-transition-name: content-area;
}
::view-transition-old(content-area),
::view-transition-new(content-area) {
animation-duration: 0.5s;
animation-timing-function: ease-in-out;
}
::view-transition-old(content-area) {
transform: translateX(0);
}
::view-transition-new(content-area) {
transform: translateX(0);
}
في هذا المثال:
view-transition-name: content-area;يعين الاسم "content-area" إلى العنصر#content. يخبر هذا المتصفح بمعاملة هذا العنصر بشكل خاص أثناء تحويل العرض.- تحدد العناصر الزائفة
::view-transition-old(content-area)و::view-transition-new(content-area)الإصدارين القديم والجديد للعنصر أثناء الانتقال، على التوالي. - ثم نطبق انتقالًا على هذه العناصر، مما يتسبب في تلاشيها وانزلاقها أثناء الانتقال.
تقنيات تحويل العرض المتقدمة
بينما يوفر التنفيذ الأساسي أساسًا متينًا، يمكنك الاستفادة من التقنيات الأكثر تقدمًا لإنشاء تحولات عرض مذهلة وجذابة حقًا.
تحريك العناصر الفردية
عن طريق تعيين خصائص view-transition-name فريدة للعناصر الفردية، يمكنك تحريكها بشكل مستقل أثناء الانتقال. يسمح هذا برسوم متحركة أكثر تعقيدًا وتفصيلاً.
<div id="container">
<img id="image1" src="image1.jpg" alt="Image 1" style="view-transition-name: image1;">
<h2 id="title1" style="view-transition-name: title1;">Title 1</h2>
<p id="description1" style="view-transition-name: description1;">Description 1</p>
</div>
::view-transition-old(image1) {
transform: scale(1.2);
opacity: 0;
}
::view-transition-new(image1) {
transform: scale(1);
opacity: 1;
}
::view-transition-old(title1) {
transform: translateY(-20px);
opacity: 0;
}
::view-transition-new(title1) {
transform: translateY(0);
opacity: 1;
}
يوضح هذا المثال كيفية تحريك صورة وعنوان بشكل مستقل. تتوسع الصورة القديمة وتتلاشى، بينما تتقلص الصورة الجديدة وتتلاشى. ينزلق العنوان القديم لأعلى ويتلاشى، بينما ينزلق العنوان الجديد لأسفل ويتلاشى. يؤدي هذا إلى إنشاء انتقال ديناميكي وجذاب بصريًا.
تحولات العناصر المشتركة
تتضمن تحولات العناصر المشتركة تحريك عنصر واحد يظهر في كل من الحالتين "القديمة" و "الجديدة". هذا مفيد بشكل خاص لإنشاء إحساس بالاستمرارية عند التنقل بين صفحات أو أقسام مختلفة من موقع الويب الخاص بك.
على سبيل المثال، تخيل صفحة قائمة منتجات وصفحة تفاصيل المنتج. يمكن أن تكون صورة المنتج عنصرًا مشتركًا، وتنتقل بسلاسة من صفحة القائمة إلى صفحة التفاصيل. يؤدي هذا إلى إنشاء اتصال مرئي قوي بين الصفحتين ويعزز فهم المستخدم للعلاقة بينهما.
تحولات عبر الأصل
يمكن أن تعمل تحولات العرض حتى عبر أصول مختلفة (مجالات) إذا تم تكوين رؤوس CORS الضرورية بشكل صحيح. يفتح هذا إمكانيات لإنشاء انتقالات سلسة بين مواقع الويب أو تطبيقات الويب المختلفة، طالما أنها تحت سيطرتك ويمكنك إدارة إعدادات CORS.
أفضل الممارسات لاستخدام تحولات العرض
بينما توفر تحولات العرض طريقة قوية لتعزيز تجربة المستخدم، من المهم استخدامها بحكمة واتباع أفضل الممارسات لضمان الأداء الأمثل وإمكانية الوصول.
- استخدمها باعتدال: قد يؤدي الإفراط في استخدام تحولات العرض إلى تشتيت انتباه المستخدمين وحتى إزعاجهم. استخدمها بشكل استراتيجي لتحسين التفاعلات ونقاط التنقل الرئيسية.
- اجعل الانتقالات قصيرة وحلوة: استهدف مدد انتقال تبلغ حوالي 0.3 إلى 0.5 ثانية. يمكن أن تبدو الانتقالات الأطول بطيئة وتعطل تدفق المستخدم.
- إعطاء الأولوية للأداء: قم بتحسين صورك والأصول الأخرى للتأكد من أن تحولات العرض لا تؤثر سلبًا على أوقات تحميل الصفحة.
- النظر في إمكانية الوصول: تأكد من أن تحولات العرض لا تخلق مشكلات في إمكانية الوصول للمستخدمين ذوي الإعاقة. قم بتوفير طرق بديلة للتنقل في موقع الويب الخاص بك للمستخدمين الذين يفضلون عدم رؤية الرسوم المتحركة.
- اختبر بدقة: اختبر تحولات العرض على متصفحات وأجهزة مختلفة للتأكد من أنها تعمل بشكل صحيح وتوفر تجربة متسقة لجميع المستخدمين.
- استخدم انتقالات ذات مغزى: يجب أن تضيف الانتقالات قيمة إلى تجربة المستخدم، وليست مجرد متعة للعين. فكر في كيفية مساعدة الرسوم المتحركة للمستخدم على فهم سياق المحتوى الجديد أو العلاقة بين الأجزاء المختلفة من موقع الويب الخاص بك.
أمثلة على تحولات العرض قيد التشغيل
فيما يلي بعض الأمثلة على كيفية استخدام تحولات العرض لتحسين تجربة المستخدم على موقع الويب الخاص بك:
- انتقالات الصفحة: انتقل بسلاسة بين صفحات أو أقسام مختلفة من موقع الويب الخاص بك.
- انتقالات النموذج: قم بتحريك مظهر واختفاء نوافذ النموذج.
- انتقالات معرض الصور: قم بإنشاء انتقالات جذابة بين الصور في معرض الصور.
- انتقالات عناصر القائمة: قم بتحريك إضافة أو إزالة أو إعادة ترتيب العناصر في قائمة.
- تغييرات الحالة: قم بتحريك التغييرات في حالة أحد المكونات، مثل تبديل مفتاح أو توسيع قسم.
المثال 1: انتقالات الصفحة السلسة
تخيل موقع ويب مدونة. بدلاً من تحميل صفحة مزعجة عندما ينقر المستخدم على رابط منشور مدونة، يمكن لتحويل العرض أن يمرر المحتوى الجديد بسلاسة من الجانب، مما يخلق تجربة قراءة أكثر غامرة وجاذبية.
المثال 2: نوافذ النموذج المتحركة
بدلاً من ظهور نافذة نموذج على الشاشة فجأة، يمكن لتحويل العرض أن يتلاشى بسلاسة من الخلفية، ويلفت انتباه المستخدم ويوفر تجربة بصرية أكثر صقلاً. وبالمثل، عند إغلاق النموذج، يمكن أن يتلاشى بسلاسة، ويوجه المستخدم بلطف إلى المحتوى الرئيسي.
المثال 3: انتقالات معرض الصور الجذابة
بالنسبة لموقع ويب محفظة أو تجارة إلكترونية عبر الإنترنت، تعد معارض الصور ضرورية. يمكن لتحولات العرض أن ترفع مستوى تجربة التصفح من خلال إنشاء انتقالات سلسة وديناميكية بين الصور. على سبيل المثال، يمكن للصورة الحالية أن تتراجع بسلاسة بينما تتوسع الصورة التالية، مما يخلق إحساسًا بالعمق والحركة.
توافق المتصفح وحشوها
بصفتها تقنية جديدة نسبيًا، قد لا يتم دعم تحولات عرض CSS بالكامل بواسطة جميع المتصفحات، وخاصة الإصدارات القديمة. تحقق من دعم المتصفح الحالي قبل التنفيذ، ولكن في وقت كتابة هذا التقرير، تدعم المتصفحات الحديثة الرئيسية ذلك. لتوفير تجربة متسقة للمستخدمين على المتصفحات غير المدعومة، يمكنك استخدام الحشو. الحشو هو قطعة من كود JavaScript توفر وظائف ميزة أحدث على المتصفحات القديمة التي لا تدعمها بشكل أصلي.
تتوفر العديد من الحشو لتحولات عرض CSS، والتي يمكن أن تساعد في سد الفجوة والتأكد من أن موقع الويب الخاص بك يبدو رائعًا على جميع الأجهزة. تأكد من اختبار موقع الويب الخاص بك بدقة مع وبدون الحشو لضمان التوافق والأداء الأمثل.
اعتبارات إمكانية الوصول
إمكانية الوصول هي جانب حاسم من تطوير الويب. عند تنفيذ تحولات عرض CSS، من المهم مراعاة المستخدمين ذوي الإعاقة والتأكد من أن موقع الويب الخاص بك يظل في متناول الجميع.
- تفضيل تقليل الحركة: احترم تفضيل المستخدم للحركة المخفضة. تسمح العديد من أنظمة التشغيل والمتصفحات للمستخدمين بتعطيل الرسوم المتحركة لتقليل المشتتات أو دوار الحركة. استخدم استعلام وسائط CSS
prefers-reduced-motionللكشف عن هذا التفضيل وتعطيل أو تقليل حدة تحولات العرض وفقًا لذلك. - تنقل لوحة المفاتيح: تأكد من إمكانية الوصول إلى جميع العناصر التفاعلية على موقع الويب الخاص بك عبر تنقل لوحة المفاتيح. يجب ألا تتداخل تحولات العرض مع ترتيب تركيز لوحة المفاتيح أو تجعل من الصعب على المستخدمين التنقل في موقع الويب الخاص بك باستخدام لوحة المفاتيح.
- توافق قارئ الشاشة: تأكد من أن تحولات العرض متوافقة مع برامج قراءة الشاشة. قم بتوفير بدائل نصية وصفية لأي محتوى متحرك للتأكد من أنه لا يزال بإمكان المستخدمين ضعاف البصر فهم سياق الانتقالات.
- تباين كافٍ: تأكد من وجود تباين كافٍ بين ألوان النص والخلفية، خاصة أثناء الانتقال. سيساعد هذا المستخدمين ضعاف البصر على رؤية المحتوى بوضوح.
مستقبل تحولات العرض
تمثل تحولات عرض CSS خطوة مهمة إلى الأمام في تطوير الويب، مما يوفر طريقة قوية وتصريحية لتعزيز تجربة المستخدم وإنشاء تطبيقات ويب أكثر جاذبية وغامرة. مع استمرار نمو دعم المتصفح ونضج التكنولوجيا، يمكننا أن نتوقع رؤية المزيد من الاستخدامات المبتكرة والإبداعية لتحولات العرض في المستقبل.
تتضمن بعض التطورات المستقبلية المحتملة ما يلي:
- خيارات رسوم متحركة أكثر تقدمًا: توقع رؤية المزيد من الخيارات لتخصيص مظهر وسلوك تحولات العرض، مثل دعم وظائف التسهيل المخصصة، والرسوم المتحركة المتتالية، وتأثيرات الانتقال الأكثر تعقيدًا.
- التكامل مع مكونات الويب: من المحتمل أن يصبح تحولات العرض متكاملة بشكل متزايد مع مكونات الويب، مما يسمح للمطورين بإنشاء عناصر واجهة مستخدم قابلة لإعادة الاستخدام ومغلفة بتأثيرات انتقال مضمنة.
- دعم عرض جانب الخادم: مع انتشار العرض من جانب الخادم، يمكننا أن نتوقع رؤية دعم لتحولات العرض على جانب الخادم، مما يسمح بتحميل صفحات أولية أكثر سلاسة وأداءً.
خاتمة
تعتبر CSS @view-transition بمثابة تغيير لقواعد اللعبة لمطوري الويب الذين يسعون إلى رفع مستوى تجربة المستخدم من خلال رسوم متحركة للتنقل سلسة وجذابة. من خلال فهم المبادئ والتقنيات وأفضل الممارسات الموضحة في هذا الدليل، يمكنك فتح الإمكانات الكاملة لتحولات العرض وإنشاء مواقع ويب جذابة بصريًا وذات أداء جيد. احتضن هذه الأداة القوية وابدأ في تحويل موقع الويب الخاص بك إلى تجربة غامرة وسهلة الاستخدام حقًا للمستخدمين في جميع أنحاء العالم.